Under Non-Uniform Memory Access (NUMA) architecture, the overheads for memory access at a remote end and a local end differ markedly, and an excessive memory access at the remote end leads to abrupt decline of the system performance. Monitoring of cross-nodes memory access can identify hot cross-nodes data access pages, dynamically adjust memory distribution, raise local memory access proportion, and enhance overall system performance.
In the related art, each node is provided with a memory access monitoring module to count access circumstances (read and write counts) of remote and local nodes for each page. If it is found that the frequency whereby a remote node accesses a certain page exceeds a predetermined threshold value, the monitoring module will notify the operating system through interruption or other ways, and the operating system will perform an optimizing process for the page.
It is usual in the related art to use a page grain with the size of 4K to perform the monitor, but the relatively fine page grain requires a great number of counters to monitor memory access for a memory capacity exceeding 100 G, and the hardware overhead is unduly high.